//    Copyright (C) Kherty.  All rights reserved.
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Media;

namespace OpenLS.Drawing.UI
{
    public class ColorManager
    {
        public static List<ColorBase> UIColors
        {
            get
            {
                var result = new List<ColorBase>();
                {
                    foreach (SchemeColorValue i in Values)
                        result.Add(new ThemeColor(i));
                    result.Add(new ThemeColor(SchemeColorValue.Background1, 0.5));
                    result.Add(new ThemeColor(SchemeColorValue.Text1, -0.05));
                    foreach (SchemeColorValue i in Indexes2)
                        result.Add(new ThemeColor(i, 0.8));
                    result.Add(new ThemeColor(SchemeColorValue.Background1, 0.35));
                    result.Add(new ThemeColor(SchemeColorValue.Text1, -0.15));
                    foreach (SchemeColorValue i in Indexes2)
                        result.Add(new ThemeColor(i, 0.6));
                    result.Add(new ThemeColor(SchemeColorValue.Background1, 0.25));
                    result.Add(new ThemeColor(SchemeColorValue.Text1, -0.25));
                    foreach (SchemeColorValue i in Indexes2)
                        result.Add(new ThemeColor(i, 0.4));
                    result.Add(new ThemeColor(SchemeColorValue.Background1, 0.15));
                    result.Add(new ThemeColor(SchemeColorValue.Text1, -0.35));
                    foreach (SchemeColorValue i in Indexes2)
                        result.Add(new ThemeColor(i, -0.25));
                    result.Add(new ThemeColor(SchemeColorValue.Background1, 0.05));
                    result.Add(new ThemeColor(SchemeColorValue.Text1, -0.5));
                    foreach (SchemeColorValue i in Indexes2)
                        result.Add(new ThemeColor(i, -0.5));
                }
                result.Add(new SRgbColor(Colors.DarkRed));
                result.Add(new SRgbColor(Colors.Red));
                result.Add(new SRgbColor(Colors.Orange));
                result.Add(new SRgbColor(Colors.Yellow));
                result.Add(new SRgbColor(Colors.LightGreen));
                result.Add(new SRgbColor(Colors.Green));
                result.Add(new SRgbColor(Colors.LightBlue));
                result.Add(new SRgbColor(Colors.Blue));
                result.Add(new SRgbColor(Colors.DarkBlue));
                result.Add(new SRgbColor(Colors.Purple));
                return result;

            }
        }

        static readonly SchemeColorValue[] Values = new[]
            {
                SchemeColorValue.Background1,
                SchemeColorValue.Text1,
                SchemeColorValue.Background2,
                SchemeColorValue.Text2,
                SchemeColorValue.Accent1,
                SchemeColorValue.Accent2,
                SchemeColorValue.Accent3,
                SchemeColorValue.Accent4,
                SchemeColorValue.Accent5,
                SchemeColorValue.Accent6,
            };
        static readonly SchemeColorValue[] Indexes2 = new[]
            {
                SchemeColorValue.Background2,
                SchemeColorValue.Text2,
                SchemeColorValue.Accent1,
                SchemeColorValue.Accent2,
                SchemeColorValue.Accent3,
                SchemeColorValue.Accent4,
                SchemeColorValue.Accent5,
                SchemeColorValue.Accent6,
            };

    }
}

